perm filename AIRPO6.AX[W81,JMC] blob
sn#557657 filedate 1981-01-22 generic text, type C, neo UTF8
COMMENT ⊗ VALID 00002 PAGES
C REC PAGE DESCRIPTION
C00001 00001
C00002 00002 % These axioms reify goals and actions. They enable us to prove
C00006 ENDMK
C⊗;
% These axioms reify goals and actions. They enable us to prove
% should(I,prog(walk(car),drive(airport)),S0)
% Warning: These axioms haven't been checked to see that misguided subsitutions
% (e.g. using a situation as a person) can't give strange results.
% The axioms can be complicated by adding premisses to ensure that
% situations are never substituted for variables standing for persons,
% but the sort mechanism (which will be explained later) does it better.
declare INDVAR x y z s p a1 a2 g a;
declare INDCONST I, S0, desk, home,car,airport,county;
declare PREDCONST att 2, walkable 1, drivable 1;
declare PREDCONST holds 2, wants 3, should 3;
declare OPCONST at 2, result 3, prog 2, walk 1, drive 1;
axiom walkable: walkable(home);;
axiom drivable: drivable(county);;
axiom at:
holds(at(I,desk),S0)
att(desk,home)
holds(at(car,home),S0)
att(home,county)
att(airport,county)
;;
axiom ats: ∀x y.(att(x,y) ⊃ ∀s.holds(at(x,y),s));;
axiom attrans:
∀x y z s.(holds(at(x,y),s) ∧ holds(at(y,z),s) ⊃ holds(at(x,z),s))
∀x y z.(att(x,y) ∧ att(y,z) ⊃ att(x,z))
;;
axiom notI: ¬(I=desk) ∧ ¬(I=car) ∧ ¬(I=home) ∧ ¬(I=airport);;
axiom walk:
∀x y z p s.((walkable(x) ∧ (att(y,x)∨holds(at(y,x),s)) ∧ (att(z,x)
∨ holds(at(z,x),s))
∧ holds(at(p,y),s))
⊃ (holds(at(p,z),result(p,walk(z),s))
∧ ∀x y.(¬(x = I)
⊃ (holds(at(x,y),result(p,walk(z),s)) ≡ holds(at(x,y),s)))))
;;
axiom drive:
∀x y z p s.((drivable(x) ∧ att(y,x)
∧ att(z,x) ∧ holds(at(car,y),s)
∧ holds(at(p,car),s))
⊃ (holds(at(car,z),result(p,drive(z),s))
∧ ∀x y.(¬(x = car ∨ holds(at(x,car),s)) ∨ y=car
⊃ (holds(at(x,y),result(p,drive(z),s))
≡ holds(at(x,y),s)))))
;;
axiom prog:
∀a1 a2 p s.(result(p,prog(a1,a2),s) = result(p,a2,result(p,a1,s)))
;;
axiom should:
∀p g a s.(wants(p,g,s) ∧ holds(g,result(p,a,s)) ⊃ should(p,a,s))
;;
axiom want:
wants(I,at(I,airport),S0)
;;